package com.itheima.d3_tcp.no1;

import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;

//目标：掌握tcp客户端发送数据
public class ClientDemo01 {
    public static void main(String[] args) throws Exception {
        /**
         * Socket(String host,int port)：创建发送端的Socket对象与服务端连接，参数为服务端程序的ip和端口
         * getOutputStream()：获得字节输出流对象
         * getInputStream()：获得字节输入流对象
         */
        //1.创建Socket对象，提供服务端的IP地址和端口号，底层会尝试建立三次握手，如果失败代码会运行报错！
        Socket socket = new Socket("127.0.0.1", 10003);

        //2.假设上面代码不报错，说明连接已经建立，开始写出数据，需要获取字节输出流
        OutputStream os = socket.getOutputStream();
        //byte[] bys = "你好，我是客户端".getBytes();
        //os.write(bys);

        //尝试用打印流优化，将普通的字节输出流对象os包装成打印流
        PrintStream ps = new PrintStream(os);
        ps.println("你好，我是客户端");

        //3.刷新和释放资源
        //os.flush();
        ps.flush();
        //os.close();
        ps.close();
        socket.close();
    }
}
